import App from './App'
import Vue from 'vue'
import uView from 'uview-ui'
import http from '@/config/http.interceptor.js'

// 这个是语言包，放置各种语言的json文件
import messages from '@/locale/index'

// 如果storage保存过语言，就用storage的，没有就用系统语言或默认英文
const storageLocale = uni.getStorageSync('locale')
const locale = ['en', 'zh-Hans'].includes(uni.getLocale()) ? uni.getLocale() : 'en'

const i18nConfig = {
  locale: storageLocale || locale, //获取已设置的语言
  messages
}

import VueI18n from 'vue-i18n'
import router from './router'
//分享设置
import share from './utils/wxShare.js'

Vue.use(uView).use(VueI18n).use(router).mixin(share)

export const i18n = new VueI18n(i18nConfig)

// 调用setConfig方法，方法内部会进行对象属性深度合并，可以放心嵌套配置
// 需要在Vue.use(uView)之后执行
uni.$u.setConfig({
  // 修改$u.config对象的属性
  config: {
    // 修改默认单位为rpx，相当于执行 uni.$u.config.unit = 'rpx'
    unit: 'rpx'
  },
  // 修改$u.props对象的属性
  props: {
    // 修改radio组件的size参数的默认值，相当于执行 uni.$u.props.radio.size = 30
    // radio: {
    // 	size: 15
    // }
    // 其他组件属性配置
    // ......
  }
})

Vue.config.productionTip = false

App.mpType = 'app'

import store from '@/store'

const app = new Vue({
  store,
  i18n,
  ...App
})

// 引入请求封装，将app参数传递到配置中
http(app)

app.$mount()
